<?php

class persona extends CActiveRecord
{
	/**
	 * Returns the static model of the specified AR class.
	 * @return CActiveRecord the static model class
	 */
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}

	/**
	 * @return string the associated database table name
	 */
	public function tableName()
	{
		return 'persona';
	}

	/**
	 * @return array validation rules for model attributes.
	 */
	public function rules()
	{
		return array(
			array('nombre','length','max'=>128),
			array('apellido1','length','max'=>128),
			array('apellido2','length','max'=>128),
			array('nombre', 'required'),
			array('id, fallecido, casado', 'numerical', 'integerOnly'=>true),
			array('foto', 'file', 'types'=>'jpg',
					'maxSize'=>1024 * 200 ,
					'tooLarge'=>'La foto mide más de 200K, usa una imagen más pequeña.',
					'allowEmpty'=>true,),
			array('causa_fallecimiento','length','max'=>256),
			array('origen_nombre','length','max'=>128),
			array('situacion_sentimental','length','max'=>256),
			array('observaciones','length','max'=>256),
			array('fecha_nacimiento','type','type'=>'date','dateFormat'=>'yyyy-mm-dd','allowEmpty'=>true,'message'=>'La fecha de nacimiento debe ser una fecha'),
			array('fecha_fallecimiento','type','type'=>'date','dateFormat'=>'yyyy-mm-dd','allowEmpty'=>true,'message'=>'La fecha de fallecimiento debe ser una fecha'),	
		);
	}

	/**
	 * @return array relational rules.
	 */
	public function relations()
	{
		return array(
			'consultante'=>array(self::HAS_ONE,'consultante', 'personaId'),
			'parentesco'=>array(self::HAS_ONE,'parentesco','personaId'),
		);
	}

	/**
	 * @return array customized attribute labels (name=>label)
	 */
	public function attributeLabels()
	{
		return array(
			'parentesco'=>'Parentesco',
    	);
	}
}
